package cn.b.sky.user.dao;

import cn.b.sky.user.model.NumberOrdinal;
import cn.b.sky.user.model.NumberRule;
import cn.b.sky.user.model.condition.NumberRuleCondition;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 
 * <strong>Title : NumberRuleDao.java<br></strong>
 * <strong>Package : cn.b.sky.use.dao<br></strong>
 * <strong>Description : </strong>编码规则数据访问接口<br> 
 * <strong>Create on : 2015-9-25 下午01:55:10<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface NumberRuleDao {
  /**
   * 
   * <strong>Title : selectNumberRuleList<br></strong>
   * <strong>Description : </strong>查询编码规则列表<br> 
   * <strong>Create on : 2015-9-25 下午01:55:26<br></strong>
   * <p>
   * @param numberRuleCondition
   * @return
   * List<NumberRule>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<NumberRule> selectNumberRuleList(NumberRuleCondition numberRuleCondition);

  /**
   * 
   * <strong>Title : selectNumberRuleCount<br></strong>
   * <strong>Description : </strong>查询编码规则条数<br> 
   * <strong>Create on : 2015-9-25 下午01:56:02<br></strong>
   * <p>
   * @param numberRuleCondition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectNumberRuleCount(NumberRuleCondition numberRuleCondition);

  /**
   * 
   * <strong>Title : selectNumberRule<br></strong>
   * <strong>Description : </strong>根据编号查询编码规则<br> 
   * <strong>Create on : 2015-9-25 下午02:28:59<br></strong>
   * <p>
   * @param siteCode
   * @param ruleCode
   * NumberRule
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  NumberRule selectNumberRule(@Param("siteCode") String siteCode, @Param("ruleCode") String ruleCode);

  /**
   * 
   * <strong>Title : selectNumberOrdinal<br></strong>
   * <strong>Description : </strong>查询编码序号<br> 
   * <strong>Create on : 2015-9-25 下午02:30:03<br></strong>
   * <p>
   * @param numberOrdinal
   * NumberOrdinal
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  NumberOrdinal selectNumberOrdinal(NumberOrdinal numberOrdinal);

  /**
   * 
   * <strong>Title : selectNumberOrdinalCount<br></strong>
   * <strong>Description : </strong>查询编码序号数量<br> 
   * <strong>Create on : 2015-9-25 下午05:45:04<br></strong>
   * <p>
   * @param numberOrdinal
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectNumberOrdinalCount(NumberOrdinal numberOrdinal);

  /**
   * 
   * <strong>Title : insertNumberRule<br></strong>
   * <strong>Description : </strong>新增编码规则<br> 
   * <strong>Create on : 2015-9-25 下午01:57:44<br></strong>
   * <p>
   * @param numberRule
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertNumberRule(NumberRule numberRule);

  /**
   * 
   * <strong>Title : insertNumberOrdinal<br></strong>
   * <strong>Description : </strong>现在编码序号<br> 
   * <strong>Create on : 2015-9-25 下午02:24:50<br></strong>
   * <p>
   * @param numberOrdinal
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertNumberOrdinal(NumberOrdinal numberOrdinal);

  /**
   * 
   * <strong>Title : updateNumberRule<br></strong>
   * <strong>Description : </strong>修改编码规则<br> 
   * <strong>Create on : 2015-9-25 下午02:25:43<br></strong>
   * <p>
   * @param numberRule
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateNumberRule(NumberRule numberRule);

  /**
   * 
   * <strong>Title : updateNumberOrdinal<br></strong>
   * <strong>Description : </strong>修改无日期编码序号<br> 
   * <strong>Create on : 2015-9-25 下午02:26:20<br></strong>
   * <p>
   * @param numberOrdinal
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateNumberOrdinalNoDate(NumberOrdinal numberOrdinal);

  /**
   * 
   * <strong>Title : updateNumberOrdinalHasDate<br></strong>
   * <strong>Description : </strong>修改有日期编码序号<br> 
   * <strong>Create on : 2015-9-25 下午07:19:18<br></strong>
   * <p>
   * @param numberOrdinal
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateNumberOrdinalHasDate(NumberOrdinal numberOrdinal);

  /**
   * 
   * <strong>Title : deleteNumberRule<br></strong>
   * <strong>Description : </strong>删除编码规则<br> 
   * <strong>Create on : 2015-9-25 下午02:28:42<br></strong>
   * <p>
   * @param siteCode
   * @param ruleCode
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteNumberRule(@Param("siteCode") String siteCode, @Param("ruleCode") String ruleCode);

}
